{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "phiKTransform_Machine_Learning.ipynb",
      "provenance": [],
      "include_colab_link": true
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "view-in-github",
        "colab_type": "text"
      },
      "source": [
        "<a href=\"https://colab.research.google.com/github/Divyanshu-ISM/Machine-Learning-Deep-Learning/blob/main/phiKTransform_Machine_Learning.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "jGiuNACw1rlm"
      },
      "source": [
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "import seaborn as sns\n",
        "import pandas as pd"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "3vs34z3p1wjA"
      },
      "source": [
        "phi = np.abs(np.random.normal(0.25,0.05,70000))\n",
        "swc = np.abs(np.random.normal(0.1,0.01,70000))\n",
        "\n",
        "k = 8.58102*(phi**(4.4))/(swc**2)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "RIE-c-Cc2DOg"
      },
      "source": [
        "df = pd.DataFrame({'Porosity':phi , 'Swc':swc, 'Permeability(D)':k})"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "HX8xaQu-C7aS",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 49
        },
        "outputId": "734b623c-1fc4-4b9c-eed5-effb17e7c9c8"
      },
      "source": [
        "# df[(df['Porosity'] < 0.001) | (df['Swc'] <0.001)]"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Porosity</th>\n",
              "      <th>Swc</th>\n",
              "      <th>Permeability(D)</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "Empty DataFrame\n",
              "Columns: [Porosity, Swc, Permeability(D)]\n",
              "Index: []"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 60
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "wYu0i2Uk2wTs"
      },
      "source": [
        "#"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "B2bwNIxO22FK"
      },
      "source": [
        "#"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Swa62mK33nBi"
      },
      "source": [
        "# df[df['Swc']<=0]"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "SP-9qGBW2IUU",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 385
        },
        "outputId": "1d5a7126-96dd-46d9-d159-3c1cd2c81a6e"
      },
      "source": [
        "plt.style.use('default')\n",
        "\n",
        "plt.figure(figsize=(6,4))\n",
        "\n",
        "sns.kdeplot(df['Porosity'],label='Porosity',marker='*')\n",
        "sns.kdeplot(df['Swc'],label='Swc',marker='v')\n",
        "\n",
        "plt.xlim(min(swc), 0.6)\n",
        "\n",
        "plt.grid()\n",
        "\n",
        "plt.legend(loc='best')"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.legend.Legend at 0x7fa2578aeef0>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 91
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 600x400 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "yejxnGjF2MLK",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 204
        },
        "outputId": "a9ea7f10-3aa5-4a01-d3e4-8f303683230b"
      },
      "source": [
        "df.head()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Porosity</th>\n",
              "      <th>Swc</th>\n",
              "      <th>Permeability(D)</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0.193891</td>\n",
              "      <td>0.245432</td>\n",
              "      <td>0.104456</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0.301614</td>\n",
              "      <td>0.113136</td>\n",
              "      <td>3.434996</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>0.267498</td>\n",
              "      <td>0.177913</td>\n",
              "      <td>0.819086</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>0.230059</td>\n",
              "      <td>0.061722</td>\n",
              "      <td>3.505502</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0.266670</td>\n",
              "      <td>0.211083</td>\n",
              "      <td>0.574006</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "   Porosity       Swc  Permeability(D)\n",
              "0  0.193891  0.245432         0.104456\n",
              "1  0.301614  0.113136         3.434996\n",
              "2  0.267498  0.177913         0.819086\n",
              "3  0.230059  0.061722         3.505502\n",
              "4  0.266670  0.211083         0.574006"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 34
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "wnVG5We92THK"
      },
      "source": [
        "from sklearn.model_selection import train_test_split"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "h_FvVgPu35ep"
      },
      "source": [
        "df.columns\n",
        "\n",
        "X = df[['Porosity', 'Swc']]\n",
        "\n",
        "y = df['Permeability(D)']"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "W9sDztEKGOKd"
      },
      "source": [
        "###The commented-out steps are for if you apply a Deep Learning Algorithm."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "0iBU92aO2qSd"
      },
      "source": [
        "# X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.2,random_state=101)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "3Vnmu9-j4E-i"
      },
      "source": [
        "\n",
        "# from sklearn.preprocessing import MinMaxScaler"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "h71rDP1R4IKj"
      },
      "source": [
        "# scaler = MinMaxScaler()\n",
        "\n",
        "# X_train= scaler.fit_transform(X_train)\n",
        "\n",
        "\n",
        "# X_test = scaler.transform(X_test)\n",
        "\n"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "rY8oMrCk4T3W",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "40384de1-eea7-4c1b-e664-0df384663124"
      },
      "source": [
        "# X_train.shape"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(56000, 2)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 40
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "WxmLciPO4WYy"
      },
      "source": [
        "# from tensorflow.keras.models import Sequential\n",
        "# from tensorflow.keras.layers import Dense, Activation\n",
        "# from tensorflow.keras.optimizers import Adam"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "66SEMgHz4Zy8"
      },
      "source": [
        "# model = Sequential()\n",
        "\n",
        "# model.add(Dense(2,activation='relu'))\n",
        "# model.add(Dense(10,activation='relu'))\n",
        "# model.add(Dense(10,activation='relu'))\n",
        "# model.add(Dense(1))\n",
        "\n",
        "# model.compile(optimizer='adam',loss='mse')"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "DtZAM8BE4iLs"
      },
      "source": [
        "# model.fit(x=X_train,y=y_train.values,\n",
        "#           validation_data=(X_test,y_test.values),\n",
        "#           batch_size=128,epochs=100)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "L4TuU75S4lq6"
      },
      "source": [
        "from sklearn.tree import DecisionTreeRegressor"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "hzMZoChJ5M3N"
      },
      "source": [
        "model = DecisionTreeRegressor(random_state=1)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "I3uI-5cj5QpF",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 119
        },
        "outputId": "06118b83-9ec6-47cc-9a3d-3932fdcb801d"
      },
      "source": [
        "model.fit(X_train,y_train)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "DecisionTreeRegressor(ccp_alpha=0.0, criterion='mse', max_depth=None,\n",
              "                      max_features=None, max_leaf_nodes=None,\n",
              "                      min_impurity_decrease=0.0, min_impurity_split=None,\n",
              "                      min_samples_leaf=1, min_samples_split=2,\n",
              "                      min_weight_fraction_leaf=0.0, presort='deprecated',\n",
              "                      random_state=1, splitter='best')"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 67
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "SrJBiq4v5TJS",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 204
        },
        "outputId": "b5f6f257-d097-4870-a4e2-6a524a6fd344"
      },
      "source": [
        "X.head()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Porosity</th>\n",
              "      <th>Swc</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0.272440</td>\n",
              "      <td>0.104683</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0.182001</td>\n",
              "      <td>0.107320</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>0.265756</td>\n",
              "      <td>0.107777</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>0.316770</td>\n",
              "      <td>0.086847</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0.314456</td>\n",
              "      <td>0.089505</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "   Porosity       Swc\n",
              "0  0.272440  0.104683\n",
              "1  0.182001  0.107320\n",
              "2  0.265756  0.107777\n",
              "3  0.316770  0.086847\n",
              "4  0.314456  0.089505"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 68
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "TRNoAWayDzLL",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "287f504c-7040-44f9-ed43-a3ed4ec52cb9"
      },
      "source": [
        "print(model.predict(X.head()))"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "[2.56434333 0.40916949 2.19807738 7.23267175 6.59340329]\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "H6SKD1HCD5KG"
      },
      "source": [
        "from sklearn.metrics import mean_absolute_error"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "8GyIAk7ED8Br"
      },
      "source": [
        "from sklearn.model_selection import train_test_split"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "ASrWLi9UENcj"
      },
      "source": [
        "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "rpMv1eEyEQUq"
      },
      "source": [
        "\n",
        "def get_mae(nodes, X_test,y_test,X_train,y_train):\n",
        "  dt = DecisionTreeRegressor(max_leaf_nodes=nodes)\n",
        "  dt.fit(X_train,y_train)\n",
        "  y_p = dt.predict(X_test)\n",
        "  mae = mean_absolute_error(y_test,y_p)\n",
        "  return mae"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "an1K6zlxEZJf"
      },
      "source": [
        "leafs = [10,20,30,40,50,100,120,150,200,300,400,500,1000]\n",
        "error = []\n",
        "for x in leafs:\n",
        "  er = get_mae(x, X_test,y_test,X_train,y_train)\n",
        "  error.append(er)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "NLibitqqEbry",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 489
        },
        "outputId": "126f25a7-0f82-4bff-e649-4b0cea3d0c9e"
      },
      "source": [
        "plt.plot(leafs,error,marker='o')\n",
        "plt.grid()\n",
        "plt.ylabel('Error(Fraction)')\n",
        "plt.xlabel('No. of leafs')\n",
        "\n",
        "plt.title('Error Minimization(Elbow Method)')"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Text(0.5, 1.0, 'Error Minimization(Elbow Method)')"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 86
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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/vkn5s2bh+DgYGzfvh0zZsxAcXExXnrpJQDAkCFD8OWXX2rPXVRUhNOnT0Mmk+HgwYPo1asXAODgwYNo3749evTocc/aNCZPnozExEQsX74cgiCgsLAQe/fuxebNm5GUlKS3/+bNmzF9+nTExMRgxYoVqKiowNq1azF48GAcP34cQUFBmD17Nq5evYrk5GS97xONLVu2oKysDLNnz4YgCFi5ciUmTJiAixcvaodUf/rpJ4waNQqdOnXCm2++icrKSnz00UcYNGgQ0tPTERQUBKA+nI8YMQLt27fHm2++ibq6OsTFxTX6fRQREQFRFPHrr79izJgxTWonamVEolZg48aNIoAGv+zs7LT7ZWVliQBEFxcXsaCgQOcccXFxIgBx8uTJOttPnDghAhCff/55ne0LFy4UAYj79u3TbgsMDBQBiElJSU2qe/r06aKjo6MoiqL45JNPio8++qgoiqKoUqlEHx8fMT4+Xlvze++9pz1u//79IgBx//792m1RUVEiAPE///mPdlt1dbXo4+MjPvHEE3ptsHHjRp06AIjvvvuudtvNmzdFe3t7URAEcevWrdrtZ8+eFQGIcXFx96znbpWVlWJERITo5+cn5uXlabdXVFTo7RsTEyN26tRJZ1vPnj3FqKgovX3/+ro1NTWil5eXGBYWJlZWVmr3+/7770UA4pIlS/Te81tvvaVzzr59+4oRERHax3/++acIQPzoo4/0Xl9zjoa+YmJi7tk+ms/rgw8+0G6rrq4W+/TpI3p5eYk1NTWiKIri6tWrRQBiYmKidr+amhpx4MCBopOTk1haWiqKoihu375dBCBmZmaKoiiK3333nWhnZyeOGzdOnDhxovbYXr16iX/729/03svd7v6ey8jIEAGIBw8eFEVRFNesWSM6OTmJt27d0vn+FUVRLCsrE93c3MRZs2bpnC8/P190dXXV2f6Pf/xDbOhXjOa1PTw8xKKiIu32nTt3igDEXbt2abdp2urGjRvabSdPnhRlMpk4bdo07bbx48eLSqVSvHTpknZbZmamKJfLG6zh6tWrIgBxxYoV92wnar04LEWtypo1a5CcnKzz9eOPP+rt98QTT6B9+/YNnuPFF1/Uebx7924AQGxsrM72f/7znwCAH374QWd7cHAwYmJiDK796aefxoEDB5Cfn499+/YhPz+/wSGpe3FyctKZ/2Fra4vI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\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "6Bn97eSYEfEz",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 204
        },
        "outputId": "6de5f724-53c0-4091-db15-83b824b6b881"
      },
      "source": [
        "X_test.head()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Porosity</th>\n",
              "      <th>Swc</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>46730</th>\n",
              "      <td>0.276352</td>\n",
              "      <td>0.089347</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>48393</th>\n",
              "      <td>0.244388</td>\n",
              "      <td>0.099597</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>41416</th>\n",
              "      <td>0.137736</td>\n",
              "      <td>0.114371</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>34506</th>\n",
              "      <td>0.297663</td>\n",
              "      <td>0.119691</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>43725</th>\n",
              "      <td>0.270696</td>\n",
              "      <td>0.088165</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "       Porosity       Swc\n",
              "46730  0.276352  0.089347\n",
              "48393  0.244388  0.099597\n",
              "41416  0.137736  0.114371\n",
              "34506  0.297663  0.119691\n",
              "43725  0.270696  0.088165"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 77
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "HqMVGB3GEmCq",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "5fdde695-bf7d-4578-dc4a-e4f40d22f59d"
      },
      "source": [
        "print(model.predict(X_test.head()))"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "[3.74814537 1.75630554 0.10683635 2.89607962 3.51454559]\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "x6dv-3xqEsFr",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 119
        },
        "outputId": "22f6e4bc-7eeb-4fbc-9344-45ddb9fbf34e"
      },
      "source": [
        "print(y_test.head())"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "46730    3.748145\n",
            "48393    1.756306\n",
            "41416    0.106836\n",
            "34506    2.896080\n",
            "43725    3.514546\n",
            "Name: Permeability(D), dtype: float64\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "k8sBMjzQEwYs"
      },
      "source": [
        "y_p = model.predict(X_test)"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "0bXU_5ErE8_P",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 466
        },
        "outputId": "345c6921-c477-4fd6-d4b0-3c65a26c2bda"
      },
      "source": [
        "plt.grid()\n",
        "plt.scatter(y_p,y_test,marker='.')\n",
        "\n",
        "plt.xlabel('Predicted K values')\n",
        "plt.ylabel('Actual K values')"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Text(0, 0.5, 'Actual K values')"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 84
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAGwCAYAAABcnuQpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzde1xUdf4/8NcZhBGUi4jc5CqmpKIpeSH7esG7rmH4LdOtsHVt17At0VL8ZUIXMfe7We2StmXatqGkgq6aF7xh5iUlSe3CJmFYDhheBuUyTMz5/UFMjtzmDDOcM8Pr+Xj42ObMmTPvfTe7vfqcz/l8BFEURRARERHZKZXcBRARERG1BsMMERER2TWGGSIiIrJrDDNERERk1xhmiIiIyK4xzBAREZFdY5ghIiIiu9ZB7gJszWAw4PLly3B3d4cgCHKXQ0RERGYQRRE3b95EYGAgVKrmx14cPsxcvnwZwcHBcpdBREREFrh06RKCgoKaPcfhw4y7uzuAumZ4eHhY7bp6vR779u3D+PHj4ezsbLXrOjr2zTLsm3TsmWXYN8uwb9K11LPy8nIEBwcb/zneHFnDzJo1a7BmzRpcvHgRANC3b1+8+OKLmDRpEgCguroaCxcuxKZNm6DT6TBhwgS8/fbb8PPzM/s76m8teXh4WD3MuLm5wcPDgz9cCdg3y7Bv0rFnlmHfLMO+SWduz8yZIiLrBOCgoCCsXLkSeXl5OH36NGJjYxEXF4evvvoKALBgwQLs2LEDmzdvRm5uLi5fvoz4+Hg5SyYiIiKFkXVkZurUqSavX331VaxZswYnTpxAUFAQ1q1bh4yMDMTGxgIA1q9fj7vvvhsnTpzAsGHD5CiZiIiIFEYxc2Zqa2uxefNmVFRUICYmBnl5edDr9Rg7dqzxnMjISISEhOD48eNNhhmdTgedTmd8XV5eDqBuOEuv11ut3vprWfOa7QH7Zhn2TTr2zDLsm2XYN+la6pmUXsoeZs6dO4eYmBhUV1ejc+fOyM7ORp8+fZCfnw8XFxd4eXmZnO/n54eSkpImr5eWlobU1NQGx/ft2wc3Nzer15+Tk2P1a7YH7Jtl2Dfp2DPLsG+WYd+ka6pnlZWVZl9D9jDTu3dv5OfnQ6vVYsuWLUhISEBubq7F10tOTkZSUpLxdf1s6PHjx1t9AnBOTg7GjRvHyV4SsG+WYd+kY88sw75Zhn2TrqWe1d9ZMYfsYcbFxQU9e/YEAERHR+PUqVN48803MWPGDNTU1ODGjRsmozOlpaXw9/dv8npqtRpqtbrBcWdnZ5v8wGx1XUfHvlmGfZOOPbMM+2YZ9k26pnompY+K287AYDBAp9MhOjoazs7OOHDggPG9goICFBcXIyYmRsYKiYiISElkHZlJTk7GpEmTEBISgps3byIjIwOHDx/G3r174enpiTlz5iApKQne3t7w8PDA008/jZiYGD7JREREREayhpkrV67g8ccfh0ajgaenJ/r374+9e/di3LhxAIDVq1dDpVJh+vTpJovmEREREdWTNcysW7eu2fc7duyI9PR0pKent1FFREREZG8UN2eGiIiISAqGGSIiIrKIRluFY4Vl0GirZK1D9keziYiIyP5knipGctY5GERAJQBp8VGYMThEllo4MkNERESSaLRVxiADAAYRWJp1XrYRGoYZIiIikqSorMIYZOrViiIulpm/BYE1McwQERGRJOE+naASTI85CQLCfKy/B6I5GGaIiIhIkgBPV6TFR8FJqEs0ToKAFfH9EODpKks9nABMREREks0YHIIRvbrhYlklwnzcZAsyAMMMERERWSjA01XWEFOPt5mIiIjIrjHMEBERkV1jmCEiIiK7xjBDREREdo1hhoiIiOwawwwRERHZNYYZIiIismsMM0RERGTXGGaIiIjIrjHMEBERkV1jmCEiIiK7xjBDREREdo1hhoiIyMFotFU4VlgGjbZK7lLaBHfNJiIiciCZp4qRnHUOBhFQCUBafBRmDA6Ruyyb4sgMERGRg9Boq4xBBgAMIrA067zDj9AwzBARETmIorIKY5CpVyuKuFhWKU9BbYRhhoiIyEGE+3SCSjA95iQICPNxk6egNsIwQ0RE5CACPF2RFh8FJ6Eu0TgJAlbE90OAp6vMldkWJwATERE5kBmDQzCiVzdcLKtEmI+bwwcZgGGGiIjI4QR4uraLEFOPt5mIiIjIrjHMEBERKVx7WwRPKt5mIiIiUrD2uAieVByZISIiUqj2ugieVAwzRERECtVeF8GTimGGiIhIodrrInhSMcwQEREpVHtdBE8qTgAmIiJSsPa4CJ5UDDNEREQK194WwZOKt5mIiIjIrjHMEBERkV1jmCEiIiK7xjBDREREdo1hhoiIiOwawwwRERHZ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\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "MPWSB3ozFANl",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 142
        },
        "outputId": "21246264-a78c-49ed-ada4-e7c743ce9937"
      },
      "source": [
        "from sklearn import metrics\n",
        "MAE =metrics.mean_absolute_error(y_test,y_p)\n",
        "MSE = metrics.mean_squared_error(y_test,y_p)\n",
        "RMSE = np.sqrt(MSE)\n",
        "\n",
        "evaluation = pd.DataFrame(data =[MAE*100,MSE*100,RMSE*100], index='MAE(%) MSE(%) RMSE(%)'.split(), columns = ['Evaluation Values'])\n",
        "evaluation"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Evaluation Values</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>MAE(%)</th>\n",
              "      <td>0.378669</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>MSE(%)</th>\n",
              "      <td>0.107336</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>RMSE(%)</th>\n",
              "      <td>3.276219</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "         Evaluation Values\n",
              "MAE(%)            0.378669\n",
              "MSE(%)            0.107336\n",
              "RMSE(%)           3.276219"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 93
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "bfbYrziSG-py"
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    }
  ]
}